﻿using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace NTmdb.TestProject
{
    /// <summary>
    ///     This is a test class for ApiConfigurationTest and is intended
    ///     to contain all ApiConfigurationTest Unit Tests
    /// </summary>
    [TestClass]
    public class ApiConfigurationTest
    {
        /// <summary>
        ///     A test for ApiConfiguration Constructor
        /// </summary>
        [TestMethod]
        public void ApiConfigurationConstructorTest()
        {
            var target = new ApiConfiguration();
            Assert.IsNotNull( target ); //just 1 assert...
        }

        /// <summary>
        ///     A test for RestoreDefaultValues
        /// </summary>
        [TestMethod]
        public void RestoreDefaultValuesTest()
        {
            var target = new ApiConfiguration();
            var apiKey = Guid.NewGuid().ToString();
            target.RestoreDefaultValues( apiKey );

            Assert.AreEqual( target.OriginalImageSizeValue, "original" );
            Assert.AreEqual( target.ApiKeyParameterName, "api_key" );
            Assert.AreEqual( target.ApiUrl, "http://api.themoviedb.org/3" );
            Assert.AreEqual( target.SecureApiUrl, "https://api.themoviedb.org/3" );
            Assert.AreEqual( target.ApiKey, apiKey ?? String.Empty );
            Assert.AreEqual( target.UseSecureConnection, false );
            Assert.AreEqual( target.ConfigurationMethodName, "configuration" );
            Assert.AreEqual( target.NewAuthenticationTokenMethodName, "authentication/token/new" );
            Assert.AreEqual( target.NewSessionMethodName, "authentication/session/new" );
            Assert.AreEqual( target.CreateMovieListMethodName, "list" );
            Assert.AreEqual( target.AuthenticationTokenParameterName, "request_token" );
            Assert.AreEqual( target.NewGuestSessionMethodName, "authentication/guest_session/new" );
            Assert.AreEqual( target.JsonDateTimePattern, "yyyy-MM-dd HH:mm:ss 'UTC'" );
            Assert.AreEqual( target.JsonDatePattern, "yyyy-MM-dd" );
            Assert.AreEqual( target.GetMovieMethodName, "movie/{0}" );
            Assert.AreEqual( target.LanguageParameterName, "language" );
            Assert.AreEqual( target.MovieAlternativeTitlesMethodName, "movie/{0}/alternative_titles" );
            Assert.AreEqual( target.CountryParameterName, "country" );
            Assert.AreEqual( target.MovieCastMethodName, "movie/{0}/casts" );
            Assert.AreEqual( target.ImagesMethodName, "movie/{0}/images" );
            Assert.AreEqual( target.MovieKeywordsMethodName, "movie/{0}/keywords" );
            Assert.AreEqual( target.MovieReleasesMethodName, "movie/{0}/releases" );
            Assert.AreEqual( target.MovieTrailersMethodName, "movie/{0}/trailers" );
            Assert.AreEqual( target.MovieTranslationsMethodName, "movie/{0}/translations" );
            Assert.AreEqual( target.SimilarMoviesMethodName, "movie/{0}/similar_movies" );
            Assert.AreEqual( target.MovieReviewsMethodName, "movie/{0}/reviews" );
            Assert.AreEqual( target.PageParameterName, "page" );
            Assert.AreEqual( target.MovieListsMethodName, "movie/{0}/lists" );
            Assert.AreEqual( target.MovieChangesMethodName, "movie/{0}/changes" );
            Assert.AreEqual( target.EndDateParameterName, "end_date" );
            Assert.AreEqual( target.StartDateParameterName, "start_date" );
            Assert.AreEqual( target.LatestMoviesMethodName, "movie/latest" );
            Assert.AreEqual( target.UpcomingMethodName, "movie/upcoming" );
            Assert.AreEqual( target.NowPlayingMoviesMethodName, "movie/now_playing" );
            Assert.AreEqual( target.PopularMethodName, "movie/popular" );
            Assert.AreEqual( target.TopRatedMoviesMethodName, "movie/top_rated" );
            Assert.AreEqual( target.MovieAccountStatesMethodName, "movie/{0}/account_states" );
            Assert.AreEqual( target.SessionIdParameterName, "session_id" );
            Assert.AreEqual( target.RatingMethodName, "movie/{0}/rating" );
            Assert.AreEqual( target.GuestSessionIdParameterName, "guest_session_id" );
            Assert.AreEqual( target.AccountMethodName, "account" );
            Assert.AreEqual( target.AccountListsMethodName, "account/{0}/lists" );
            Assert.AreEqual( target.AccountFavoriteMoviesMethodName, "account/{0}/favorite_movies" );
            Assert.AreEqual( target.SortByParameterName, "sort_by" );
            Assert.AreEqual( target.SortOrderParameterName, "sort_order" );
            Assert.AreEqual( target.AccountAddFavoriteMethodName, "account/{0}/favorite" );
            Assert.AreEqual( target.AccountRatedMoviesMethodName, "account/{0}/rated_movies" );
            Assert.AreEqual( target.AccountWatchListMethodName, "account/{0}/movie_watchlist" );
            Assert.AreEqual( target.AccountEditWatchListMethodName, "account/{0}/movie_watchlist" );
            Assert.AreEqual( target.AddToResponseParameterName, "append_to_response" );
            Assert.AreEqual( target.MovieCollectionMethodName, "collection/{0}" );
            Assert.AreEqual( target.MovieCollectionImageMethodName, "collection/{0}/images" );
            Assert.AreEqual( target.GetPersonMethodName, "person/{0}" );
            Assert.AreEqual( target.PersonCreditsMethodName, "person/{0}/credits" );
            Assert.AreEqual( target.PersonImagesMethodName, "person/{0}/images" );
            Assert.AreEqual( target.PersonChangesMethodName, "person/{0}/changes" );
            Assert.AreEqual( target.PopularPeopleMethodName, "person/popular" );
            Assert.AreEqual( target.LatestPersonMethodName, "person/latest" );
            Assert.AreEqual( target.ListMethodName, "list/{0}" );
            Assert.AreEqual( target.ListStatusMethodName, "list/{0}/item_status" );
            Assert.AreEqual( target.MovieIdParameterName, "movie_id" );
            Assert.AreEqual( target.ListAddItemMethodName, "list/{0}/add_item" );
            Assert.AreEqual( target.ListRemoveItemMethodName, "list/{0}/remove_item" );
            Assert.AreEqual( target.DeleteListMethodName, "list/{0}" );
            Assert.AreEqual( target.CompanyMethodName, "company/{0}" );
            Assert.AreEqual( target.CompanyMoviesMethodName, "company/{0}/movies" );
            Assert.AreEqual( target.IncludeAllMoviesParameterName, "include_all_movies" );
            Assert.AreEqual( target.IncludeAdultParameterName, "include_adult" );
            Assert.AreEqual( target.KeywordMethodName, "keyword/{0}" );
            Assert.AreEqual( target.KeywordMoviesMethodName, "keyword/{0}/movies" );
            Assert.AreEqual( target.DiscoverMethodName, "discover/movie" );
            Assert.AreEqual( target.CertificationCountryParameterName, "certification_country" );
            Assert.AreEqual( target.YearParameterName, "year" );
            Assert.AreEqual( target.MinimumVoteCountParameterName, "vote_count.gte" );
            Assert.AreEqual( target.MinimumVoteAverageParameterName, "vote_average.gte" );
            Assert.AreEqual( target.PrimaryReleaseYearParameterName, "primary_release_year" );
            Assert.AreEqual( target.MinimumReleaseDateParameterName, "release_date.gte" );
            Assert.AreEqual( target.MaximumReleaseDateParameterName, "release_date.lte" );
            Assert.AreEqual( target.MaximumCertificationParameterName, "certification.lte" );
            Assert.AreEqual( target.WithCompaniesParameterName, "with_companies" );
            Assert.AreEqual( target.DiscoverySortByParameterName, "sort_by" );
            Assert.AreEqual( target.WithGenresParameterName, "with_genres" );
            Assert.AreEqual( target.AndChar, ";" );
            Assert.AreEqual( target.OrChar, "|" );
            Assert.AreEqual( target.GenreListMethodName, "genre/list" );
            Assert.AreEqual( target.GenreMovieMethodName, "genre/{0}/movies" );
            Assert.AreEqual( target.SearchMovieMethodName, "search/movie" );
            Assert.AreEqual( target.QueryParameterName, "query" );
            Assert.AreEqual( target.SearchTypeParameterName, "search_type" );
            Assert.AreEqual( target.SearchCollectionMethodName, "search/collection" );
            Assert.AreEqual( target.SearchPersonMethodName, "search/person" );
            Assert.AreEqual( target.SearchListMethodName, "search/list" );
            Assert.AreEqual( target.SearchCompanyMethodName, "search/company" );
            Assert.AreEqual( target.SearchKeywordMethodName, "search/keyword" );
            Assert.AreEqual( target.ReviewMethodName, "review/{0}" );
            Assert.AreEqual( target.JobsMethodName, "job/list" );
            Assert.AreEqual( target.ChangedMoviesMethodName, "movie/changes" );
            Assert.AreEqual( target.ChangedPeopleMethodName, "person/changes" );
            Assert.AreEqual( target.CacheLevel, CacheLevel.Default );
            Assert.AreEqual( target.SortByPopularityAscending, "popularity.asc" );
            Assert.AreEqual( target.SortByPopularityDescending, "popularity.desc" );
            Assert.AreEqual( target.SortByReleaseDateAscending, "release_date.asc" );
            Assert.AreEqual( target.SortByReleaseDateDescending, "release_date.desc" );
            Assert.AreEqual( target.SortByVoteAverageAscending, "vote_average.asc" );
            Assert.AreEqual( target.SortByVoteAverageDescending, "vote_average.desc" );
            Assert.AreEqual( target.MovieCollectionAppendImages, "images" );
            Assert.AreEqual( target.SearchTypePhrase, "phrase" );
            Assert.AreEqual( target.SearchTypeNgram, "ngram" );
            Assert.AreEqual( target.SortByCreatedAt, "created_at" );
            Assert.AreEqual( target.SortOrderAscending, "asc" );
            Assert.AreEqual( target.SortOrderDescending, "desc" );
            Assert.AreEqual( target.AppendToPersonMethodCredits, "credits" );
            Assert.AreEqual( target.AppendToPersonMethodImages, "images" );
            Assert.AreEqual( target.AppendToPersonMethodChanges, "changes" );
            Assert.AreEqual( target.AppendToMovieMethodAlternativeTitles, "alternative_titles" );
            Assert.AreEqual( target.AppendToMovieMethodCasts, "casts" );
            Assert.AreEqual( target.AppendToMovieMethodImages, "images" );
            Assert.AreEqual( target.AppendToMovieMethodKeywords, "keywords" );
            Assert.AreEqual( target.AppendToMovieMethodReleases, "releases" );
            Assert.AreEqual( target.AppendToMovieMethodTrailers, "trailers" );
            Assert.AreEqual( target.AppendToMovieMethodTranslations, "translations" );
            Assert.AreEqual( target.AppendToMovieMethodSimilarMovies, "similar_movies" );
            Assert.AreEqual( target.AppendToMovieMethodReviews, "reviews" );
            Assert.AreEqual( target.AppendToMovieMethodLists, "lists" );
            Assert.AreEqual( target.AppendToMovieMethodChanges, "changes" );
            Assert.AreEqual( target.AppendToCompanyMethodMovies, "movies" );
            Assert.AreEqual( target.Timeout.Value.TotalSeconds, 10 );
        }

        /// <summary>
        ///     A test for AppendToCompanyMethodMovies
        /// </summary>
        [TestMethod]
        public void AppendToCompanyMethodMoviesTest()
        {
            var target = new ApiConfiguration();
            var expected = Guid.NewGuid().ToString();
            target.AppendToCompanyMethodMovies = expected;
            string actual = target.AppendToCompanyMethodMovies;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountAddFavoriteMethodName
        /// </summary>
        [TestMethod]
        public void AccountAddFavoriteMethodNameTest()
        {
            var target = new ApiConfiguration();
            var expected = Guid.NewGuid().ToString();
            target.AccountAddFavoriteMethodName = expected;
            string actual = target.AccountAddFavoriteMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for OriginalImageSizeValue
        /// </summary>
        [TestMethod]
        public void OriginalImageSizeValueTest()
        {
            var target = new ApiConfiguration();
            var expected = Guid.NewGuid().ToString();
            target.OriginalImageSizeValue = expected;
            string actual = target.OriginalImageSizeValue;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountEditWatchListMethodName
        /// </summary>
        [TestMethod]
        public void AccountEditWatchListMethodNameTest()
        {
            var target = new ApiConfiguration();
            var expected = Guid.NewGuid().ToString();
            target.AccountEditWatchListMethodName = expected;
            string actual = target.AccountEditWatchListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountFavoriteMoviesMethodName
        /// </summary>
        [TestMethod]
        public void AccountFavoriteMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            var expected = Guid.NewGuid().ToString();
            target.AccountFavoriteMoviesMethodName = expected;
            string actual = target.AccountFavoriteMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for UseSecureConnection
        /// </summary>
        [TestMethod]
        public void UseSecureConnectionTest()
        {
            var target = new ApiConfiguration();
            var expected = new Random().Next( 0, Int32.MaxValue ) % 2 == 0;
            target.UseSecureConnection = expected;
            var actual = target.UseSecureConnection;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountFavoriteMoviesMethodName
        /// </summary>
        [TestMethod]
        public void SecureApiUrlTest()
        {
            var target = new ApiConfiguration();
            var expected = Guid.NewGuid().ToString();
            target.SecureApiUrl = expected;
            string actual = target.SecureApiUrl;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountListsMethodName
        /// </summary>
        [TestMethod]
        public void AccountListsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = string.Empty;
            string actual;
            target.AccountListsMethodName = expected;
            actual = target.AccountListsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountMethodName
        /// </summary>
        [TestMethod]
        public void AccountMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AccountMethodName = expected;
            string actual = target.AccountMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountRatedMoviesMethodName
        /// </summary>
        [TestMethod]
        public void AccountRatedMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AccountRatedMoviesMethodName = expected;
            string actual = target.AccountRatedMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AccountWatchListMethodName
        /// </summary>
        [TestMethod]
        public void AccountWatchListMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AccountWatchListMethodName = expected;
            string actual = target.AccountWatchListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AddToResponseParameterName
        /// </summary>
        [TestMethod]
        public void AddToResponseParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AddToResponseParameterName = expected;
            string actual = target.AddToResponseParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AndChar
        /// </summary>
        [TestMethod]
        public void AndCharTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AndChar = expected;
            string actual = target.AndChar;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ApiKey
        /// </summary>
        [TestMethod]
        public void ApiKeyTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ApiKey = expected;
            string actual = target.ApiKey;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ApiKeyParameterName
        /// </summary>
        [TestMethod]
        public void ApiKeyParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ApiKeyParameterName = expected;
            string actual = target.ApiKeyParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ApiUrl
        /// </summary>
        [TestMethod]
        public void ApiUrlTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ApiUrl = expected;
            string actual = target.ApiUrl;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodAlternativeTitles
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodAlternativeTitlesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodAlternativeTitles = expected;
            string actual = target.AppendToMovieMethodAlternativeTitles;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodCasts
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodCastsTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodCasts = expected;
            string actual = target.AppendToMovieMethodCasts;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodChanges
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodChangesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodChanges = expected;
            string actual = target.AppendToMovieMethodChanges;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodImages
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodImagesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodImages = expected;
            string actual = target.AppendToMovieMethodImages;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodKeywords
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodKeywordsTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodKeywords = expected;
            string actual = target.AppendToMovieMethodKeywords;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodLists
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodListsTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodLists = expected;
            string actual = target.AppendToMovieMethodLists;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodReleases
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodReleasesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodReleases = expected;
            string actual = target.AppendToMovieMethodReleases;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodReviews
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodReviewsTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodReviews = expected;
            string actual = target.AppendToMovieMethodReviews;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodSimilarMovies
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodSimilarMoviesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodSimilarMovies = expected;
            string actual = target.AppendToMovieMethodSimilarMovies;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodTrailers
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodTrailersTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodTrailers = expected;
            string actual = target.AppendToMovieMethodTrailers;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToMovieMethodTranslations
        /// </summary>
        [TestMethod]
        public void AppendToMovieMethodTranslationsTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToMovieMethodTranslations = expected;
            string actual = target.AppendToMovieMethodTranslations;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToPersonMethodChanges
        /// </summary>
        [TestMethod]
        public void AppendToPersonMethodChangesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToPersonMethodChanges = expected;
            string actual = target.AppendToPersonMethodChanges;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToPersonMethodCredits
        /// </summary>
        [TestMethod]
        public void AppendToPersonMethodCreditsTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToPersonMethodCredits = expected;
            string actual = target.AppendToPersonMethodCredits;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AppendToPersonMethodImages
        /// </summary>
        [TestMethod]
        public void AppendToPersonMethodImagesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AppendToPersonMethodImages = expected;
            string actual = target.AppendToPersonMethodImages;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for AuthenticationTokenParameterName
        /// </summary>
        [TestMethod]
        public void AuthenticationTokenParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.AuthenticationTokenParameterName = expected;
            string actual = target.AuthenticationTokenParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for CacheLevel
        /// </summary>
        [TestMethod]
        public void CacheLevelTest()
        {
            var target = new ApiConfiguration();
            var expected = new Random().Next( 0, Int32.MaxValue ) % 2 == 0 ? CacheLevel.Default : CacheLevel.Reload;
            target.CacheLevel = expected;
            var actual = target.CacheLevel;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for CertificationCountryParameterName
        /// </summary>
        [TestMethod]
        public void CertificationCountryParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.CertificationCountryParameterName = expected;
            string actual = target.CertificationCountryParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ChangedMoviesMethodName
        /// </summary>
        [TestMethod]
        public void ChangedMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ChangedMoviesMethodName = expected;
            string actual = target.ChangedMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ChangedPeopleMethodName
        /// </summary>
        [TestMethod]
        public void ChangedPeopleMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ChangedPeopleMethodName = expected;
            string actual = target.ChangedPeopleMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for CompanyMethodName
        /// </summary>
        [TestMethod]
        public void CompanyMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.CompanyMethodName = expected;
            string actual = target.CompanyMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for CompanyMoviesMethodName
        /// </summary>
        [TestMethod]
        public void CompanyMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.CompanyMoviesMethodName = expected;
            string actual = target.CompanyMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ConfigurationMethodName
        /// </summary>
        [TestMethod]
        public void ConfigurationMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ConfigurationMethodName = expected;
            string actual = target.ConfigurationMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for CountryParameterName
        /// </summary>
        [TestMethod]
        public void CountryParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.CountryParameterName = expected;
            string actual = target.CountryParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for CreateMovieListMethodName
        /// </summary>
        [TestMethod]
        public void CreateMovieListMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.CreateMovieListMethodName = expected;
            string actual = target.CreateMovieListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for DeleteListMethodName
        /// </summary>
        [TestMethod]
        public void DeleteListMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.DeleteListMethodName = expected;
            string actual = target.DeleteListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for DiscoverMethodName
        /// </summary>
        [TestMethod]
        public void DiscoverMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.DiscoverMethodName = expected;
            string actual = target.DiscoverMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for DiscoverySortByParameterName
        /// </summary>
        [TestMethod]
        public void DiscoverySortByParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.DiscoverySortByParameterName = expected;
            string actual = target.DiscoverySortByParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for EndDateParameterName
        /// </summary>
        [TestMethod]
        public void EndDateParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.EndDateParameterName = expected;
            string actual = target.EndDateParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for GenreListMethodName
        /// </summary>
        [TestMethod]
        public void GenreListMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.GenreListMethodName = expected;
            string actual = target.GenreListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for GenreMovieMethodName
        /// </summary>
        [TestMethod]
        public void GenreMovieMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.GenreMovieMethodName = expected;
            string actual = target.GenreMovieMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for GetMovieMethodName
        /// </summary>
        [TestMethod]
        public void GetMovieMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.GetMovieMethodName = expected;
            string actual = target.GetMovieMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for GetPersonMethodName
        /// </summary>
        [TestMethod]
        public void GetPersonMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.GetPersonMethodName = expected;
            string actual = target.GetPersonMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for GuestSessionIdParameterName
        /// </summary>
        [TestMethod]
        public void GuestSessionIdParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.GuestSessionIdParameterName = expected;
            string actual = target.GuestSessionIdParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ImagesMethodName
        /// </summary>
        [TestMethod]
        public void ImagesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ImagesMethodName = expected;
            string actual = target.ImagesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for IncludeAdultParameterName
        /// </summary>
        [TestMethod]
        public void IncludeAdultParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.IncludeAdultParameterName = expected;
            string actual = target.IncludeAdultParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for IncludeAllMoviesParameterName
        /// </summary>
        [TestMethod]
        public void IncludeAllMoviesParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.IncludeAllMoviesParameterName = expected;
            string actual = target.IncludeAllMoviesParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for JobsMethodName
        /// </summary>
        [TestMethod]
        public void JobsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.JobsMethodName = expected;
            string actual = target.JobsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for JsonDatePattern
        /// </summary>
        [TestMethod]
        public void JsonDatePatternTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.JsonDatePattern = expected;
            string actual = target.JsonDatePattern;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for JsonDateTimePattern
        /// </summary>
        [TestMethod]
        public void JsonDateTimePatternTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.JsonDateTimePattern = expected;
            string actual = target.JsonDateTimePattern;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for KeywordMethodName
        /// </summary>
        [TestMethod]
        public void KeywordMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.KeywordMethodName = expected;
            string actual = target.KeywordMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for KeywordMoviesMethodName
        /// </summary>
        [TestMethod]
        public void KeywordMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.KeywordMoviesMethodName = expected;
            string actual = target.KeywordMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for LanguageParameterName
        /// </summary>
        [TestMethod]
        public void LanguageParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.LanguageParameterName = expected;
            string actual = target.LanguageParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for LatestMoviesMethodName
        /// </summary>
        [TestMethod]
        public void LatestMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.LatestMoviesMethodName = expected;
            string actual = target.LatestMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for LatestPersonMethodName
        /// </summary>
        [TestMethod]
        public void LatestPersonMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.LatestPersonMethodName = expected;
            string actual = target.LatestPersonMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ListAddItemMethodName
        /// </summary>
        [TestMethod]
        public void ListAddItemMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ListAddItemMethodName = expected;
            string actual = target.ListAddItemMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ListMethodName
        /// </summary>
        [TestMethod]
        public void ListMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ListMethodName = expected;
            string actual = target.ListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ListRemoveItemMethodName
        /// </summary>
        [TestMethod]
        public void ListRemoveItemMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ListRemoveItemMethodName = expected;
            string actual = target.ListRemoveItemMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ListStatusMethodName
        /// </summary>
        [TestMethod]
        public void ListStatusMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ListStatusMethodName = expected;
            string actual = target.ListStatusMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MaximumCertificationParameterName
        /// </summary>
        [TestMethod]
        public void MaximumCertificationParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MaximumCertificationParameterName = expected;
            string actual = target.MaximumCertificationParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MaximumReleaseDateParameterName
        /// </summary>
        [TestMethod]
        public void MaximumReleaseDateParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MaximumReleaseDateParameterName = expected;
            string actual = target.MaximumReleaseDateParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MinimumReleaseDateParameterName
        /// </summary>
        [TestMethod]
        public void MinimumReleaseDateParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MinimumReleaseDateParameterName = expected;
            string actual = target.MinimumReleaseDateParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MinimumVoteAverageParameterName
        /// </summary>
        [TestMethod]
        public void MinimumVoteAverageParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MinimumVoteAverageParameterName = expected;
            string actual = target.MinimumVoteAverageParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MinimumVoteCountParameterName
        /// </summary>
        [TestMethod]
        public void MinimumVoteCountParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MinimumVoteCountParameterName = expected;
            string actual = target.MinimumVoteCountParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieAccountStatesMethodName
        /// </summary>
        [TestMethod]
        public void MovieAccountStatesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieAccountStatesMethodName = expected;
            string actual = target.MovieAccountStatesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieAlternativeTitlesMethodName
        /// </summary>
        [TestMethod]
        public void MovieAlternativeTitlesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieAlternativeTitlesMethodName = expected;
            string actual = target.MovieAlternativeTitlesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieCastMethodName
        /// </summary>
        [TestMethod]
        public void MovieCastMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieCastMethodName = expected;
            string actual = target.MovieCastMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieChangesMethodName
        /// </summary>
        [TestMethod]
        public void MovieChangesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieChangesMethodName = expected;
            string actual = target.MovieChangesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieCollectionAppendImages
        /// </summary>
        [TestMethod]
        public void MovieCollectionAppendImagesTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieCollectionAppendImages = expected;
            string actual = target.MovieCollectionAppendImages;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieCollectionImageMethodName
        /// </summary>
        [TestMethod]
        public void MovieCollectionImageMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieCollectionImageMethodName = expected;
            string actual = target.MovieCollectionImageMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieCollectionMethodName
        /// </summary>
        [TestMethod]
        public void MovieCollectionMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieCollectionMethodName = expected;
            string actual = target.MovieCollectionMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieIdParameterName
        /// </summary>
        [TestMethod]
        public void MovieIdParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieIdParameterName = expected;
            string actual = target.MovieIdParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieKeywordsMethodName
        /// </summary>
        [TestMethod]
        public void MovieKeywordsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieKeywordsMethodName = expected;
            string actual = target.MovieKeywordsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieListsMethodName
        /// </summary>
        [TestMethod]
        public void MovieListsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieListsMethodName = expected;
            string actual = target.MovieListsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieReleasesMethodName
        /// </summary>
        [TestMethod]
        public void MovieReleasesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieReleasesMethodName = expected;
            string actual = target.MovieReleasesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieReviewsMethodName
        /// </summary>
        [TestMethod]
        public void MovieReviewsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieReviewsMethodName = expected;
            string actual = target.MovieReviewsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieTrailersMethodName
        /// </summary>
        [TestMethod]
        public void MovieTrailersMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieTrailersMethodName = expected;
            string actual = target.MovieTrailersMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for MovieTranslationsMethodName
        /// </summary>
        [TestMethod]
        public void MovieTranslationsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.MovieTranslationsMethodName = expected;
            string actual = target.MovieTranslationsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for NewAuthenticationTokenMethodName
        /// </summary>
        [TestMethod]
        public void NewAuthenticationTokenMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.NewAuthenticationTokenMethodName = expected;
            string actual = target.NewAuthenticationTokenMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for NewGuestSessionMethodName
        /// </summary>
        [TestMethod]
        public void NewGuestSessionMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.NewGuestSessionMethodName = expected;
            string actual = target.NewGuestSessionMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for NewSessionMethodName
        /// </summary>
        [TestMethod]
        public void NewSessionMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.NewSessionMethodName = expected;
            string actual = target.NewSessionMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for NowPlayingMoviesMethodName
        /// </summary>
        [TestMethod]
        public void NowPlayingMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.NowPlayingMoviesMethodName = expected;
            string actual = target.NowPlayingMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for OrChar
        /// </summary>
        [TestMethod]
        public void OrCharTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.OrChar = expected;
            string actual = target.OrChar;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PageParameterName
        /// </summary>
        [TestMethod]
        public void PageParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PageParameterName = expected;
            string actual = target.PageParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PersonChangesMethodName
        /// </summary>
        [TestMethod]
        public void PersonChangesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PersonChangesMethodName = expected;
            string actual = target.PersonChangesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PersonCreditsMethodName
        /// </summary>
        [TestMethod]
        public void PersonCreditsMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PersonCreditsMethodName = expected;
            string actual = target.PersonCreditsMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PersonImagesMethodName
        /// </summary>
        [TestMethod]
        public void PersonImagesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PersonImagesMethodName = expected;
            string actual = target.PersonImagesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PopularMethodName
        /// </summary>
        [TestMethod]
        public void PopularMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PopularMethodName = expected;
            string actual = target.PopularMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PopularPeopleMethodName
        /// </summary>
        [TestMethod]
        public void PopularPeopleMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PopularPeopleMethodName = expected;
            string actual = target.PopularPeopleMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for PrimaryReleaseYearParameterName
        /// </summary>
        [TestMethod]
        public void PrimaryReleaseYearParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.PrimaryReleaseYearParameterName = expected;
            string actual = target.PrimaryReleaseYearParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for QueryParameterName
        /// </summary>
        [TestMethod]
        public void QueryParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.QueryParameterName = expected;
            string actual = target.QueryParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for RatingMethodName
        /// </summary>
        [TestMethod]
        public void RatingMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.RatingMethodName = expected;
            string actual = target.RatingMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for ReviewMethodName
        /// </summary>
        [TestMethod]
        public void ReviewMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.ReviewMethodName = expected;
            string actual = target.ReviewMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchCollectionMethodName
        /// </summary>
        [TestMethod]
        public void SearchCollectionMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchCollectionMethodName = expected;
            string actual = target.SearchCollectionMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchCompanyMethodName
        /// </summary>
        [TestMethod]
        public void SearchCompanyMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchCompanyMethodName = expected;
            string actual = target.SearchCompanyMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchKeywordMethodName
        /// </summary>
        [TestMethod]
        public void SearchKeywordMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchKeywordMethodName = expected;
            string actual = target.SearchKeywordMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchListMethodName
        /// </summary>
        [TestMethod]
        public void SearchListMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchListMethodName = expected;
            string actual = target.SearchListMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchMovieMethodName
        /// </summary>
        [TestMethod]
        public void SearchMovieMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchMovieMethodName = expected;
            string actual = target.SearchMovieMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchPersonMethodName
        /// </summary>
        [TestMethod]
        public void SearchPersonMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchPersonMethodName = expected;
            string actual = target.SearchPersonMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchTypeNgram
        /// </summary>
        [TestMethod]
        public void SearchTypeNgramTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchTypeNgram = expected;
            string actual = target.SearchTypeNgram;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchTypeParameterName
        /// </summary>
        [TestMethod]
        public void SearchTypeParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchTypeParameterName = expected;
            string actual = target.SearchTypeParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SearchTypePhrase
        /// </summary>
        [TestMethod]
        public void SearchTypePhraseTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SearchTypePhrase = expected;
            string actual = target.SearchTypePhrase;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SessionIdParameterName
        /// </summary>
        [TestMethod]
        public void SessionIdParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SessionIdParameterName = expected;
            string actual = target.SessionIdParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SimilarMoviesMethodName
        /// </summary>
        [TestMethod]
        public void SimilarMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SimilarMoviesMethodName = expected;
            string actual = target.SimilarMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByCreatedAt
        /// </summary>
        [TestMethod]
        public void SortByCreatedAtTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByCreatedAt = expected;
            string actual = target.SortByCreatedAt;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByParameterName
        /// </summary>
        [TestMethod]
        public void SortByParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByParameterName = expected;
            string actual = target.SortByParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByPopularityAscending
        /// </summary>
        [TestMethod]
        public void SortByPopularityAscendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByPopularityAscending = expected;
            string actual = target.SortByPopularityAscending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByPopularityDescending
        /// </summary>
        [TestMethod]
        public void SortByPopularityDescendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByPopularityDescending = expected;
            string actual = target.SortByPopularityDescending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByReleaseDateAscending
        /// </summary>
        [TestMethod]
        public void SortByReleaseDateAscendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByReleaseDateAscending = expected;
            string actual = target.SortByReleaseDateAscending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByReleaseDateDescending
        /// </summary>
        [TestMethod]
        public void SortByReleaseDateDescendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByReleaseDateDescending = expected;
            string actual = target.SortByReleaseDateDescending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByVoteAverageAscending
        /// </summary>
        [TestMethod]
        public void SortByVoteAverageAscendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByVoteAverageAscending = expected;
            string actual = target.SortByVoteAverageAscending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortByVoteAverageDescending
        /// </summary>
        [TestMethod]
        public void SortByVoteAverageDescendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortByVoteAverageDescending = expected;
            string actual = target.SortByVoteAverageDescending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortOrderAscending
        /// </summary>
        [TestMethod]
        public void SortOrderAscendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortOrderAscending = expected;
            string actual = target.SortOrderAscending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortOrderDescending
        /// </summary>
        [TestMethod]
        public void SortOrderDescendingTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortOrderDescending = expected;
            string actual = target.SortOrderDescending;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for SortOrderParameterName
        /// </summary>
        [TestMethod]
        public void SortOrderParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.SortOrderParameterName = expected;
            string actual = target.SortOrderParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for StartDateParameterName
        /// </summary>
        [TestMethod]
        public void StartDateParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.StartDateParameterName = expected;
            string actual = target.StartDateParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for Timeout
        /// </summary>
        [TestMethod]
        public void TimeoutTest()
        {
            var target = new ApiConfiguration();
            var expected = TimeSpan.FromSeconds( new Random().Next( 0, 60 ) );
            target.Timeout = expected;
            var actual = target.Timeout;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for TopRatedMoviesMethodName
        /// </summary>
        [TestMethod]
        public void TopRatedMoviesMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.TopRatedMoviesMethodName = expected;
            string actual = target.TopRatedMoviesMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for UpcomingMethodName
        /// </summary>
        [TestMethod]
        public void UpcomingMethodNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.UpcomingMethodName = expected;
            string actual = target.UpcomingMethodName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for WithCompaniesParameterName
        /// </summary>
        [TestMethod]
        public void WithCompaniesParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.WithCompaniesParameterName = expected;
            string actual = target.WithCompaniesParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for WithGenresParameterName
        /// </summary>
        [TestMethod]
        public void WithGenresParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.WithGenresParameterName = expected;
            string actual = target.WithGenresParameterName;
            Assert.AreEqual( expected, actual );
        }

        /// <summary>
        ///     A test for YearParameterName
        /// </summary>
        [TestMethod]
        public void YearParameterNameTest()
        {
            var target = new ApiConfiguration();
            string expected = Guid.NewGuid().ToString();
            target.YearParameterName = expected;
            string actual = target.YearParameterName;
            Assert.AreEqual( expected, actual );
        }
    }
}